home *** CD-ROM | disk | FTP | other *** search
/ Delphi Developer's Kit 1996 / Delphi Developer's Kit 1996.iso / power / sweep11 / swplogic / swplogic.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-12-22  |  3.2 KB  |  93 lines

  1. #ifndef __SWPLOGIC_H
  2.     #define __SWPLOGIC_H
  3. #ifdef __cplusplus
  4. extern "C"
  5. {
  6. #endif
  7. #include <windows.h>
  8. #define WM_SWEEPTIMER WM_USER + 100
  9. #define WM_BLANKCELL  WM_USER + 101
  10.  
  11. typedef HANDLE HSWP;
  12. typedef FARPROC FLIPPROC;
  13. typedef enum SHOWN { TOP = 0, BOTTOM = 1} SHOWNTYPE;
  14.  
  15. typedef enum  OPTYPE  {OP_PLAY,OP_FLAG,OP_PLAYSHIFTED }
  16.                             OPERATION;
  17.                
  18.  
  19. typedef enum  GMSTATE { BADGAMEHANDLE             = -7,
  20.                         UNKNOWN                       = -9,
  21.                         WON                               = 1,
  22.                                                 LOST                              = 2,
  23.                                                 PLAYING                       = 3,
  24.                                                 TIMEDOUT                      = 4,
  25.                                                 WAITING_AFTERWIN       = 5,
  26.                                                  WAITING_AFTERLOSS      = 6,
  27.                                                 WAITING_AFTERRESET     = 7,
  28.                                                 UNPLAYING              = 8}
  29.  
  30.                GAMESTATE;
  31.  
  32. typedef enum  LOGICERR_TAG  {
  33.                                                 GM_MORETOPLAY  =  2,
  34.                                                 GM_OK           =  1,
  35.                         GMERR_LOST         = -1,
  36.                                  GMERR_MEMFAILURE   = -2,
  37.                                                 GMERR_TOOMANYMINES = -3,
  38.                                                  GMERR_TOOMANYPIECES= -4,
  39.                                                  GMERR_GAMENOTINIT  = -5,
  40.                                                 GMERR_NOTENOUGHBUF = -6,
  41.                                                 GMERR_BADGAMEHANDLE= -7,
  42.                                                 GMERR_PIECEALREADYPLAYED = -8,
  43.                                                 GMERR_UNKNOWN          = -9,
  44.                         GMERR_OUTOFRANGE       = -10,
  45.                                                 GMERR_INVALIDHWND      = -11,
  46.                                                 GMERR_TOOMANYGAMES     = -12,
  47.                                                 GMERR_TIMER            = -13,
  48.                                                 GMERR_INDEXOUTOFRANGE  = -14,
  49.                         GMERR_TIMEDOUT         = -15
  50.                                       }LOGICERR;
  51.  
  52. typedef enum PIECEVAL_TAG  {
  53.                                                 PV_MEMFAILURE     = -2,
  54.                         PV_BADGAMEHANDLE  = -7,
  55.                                                 INVALID_PIECE      =  -1,
  56.                                                 UP                                =   0,
  57.                                                 UPFLAG                      =   1,
  58.                                                 UPQUESTION         =   2,
  59.                                                  WRONGGUESS                  =   3,
  60.                                                  ANOTHERWRONGGUESS  =   4,
  61.                                  MINE               =   5,
  62.                                              DNFLAG             =   6,
  63.                                                 EIGHT              =   7,  /* Yes there is a method */
  64.                                              SEVEN              =   8,  /* to this madness Eight = 6 */
  65.                                              SIX                =   9,
  66.                                              FIVE               =   10,
  67.                                              FOUR               =  11,
  68.                                              THREE              =  12,
  69.                                              TWO                =  13,
  70.                                              ONE                =  14,
  71.                                                 NONE               =  15
  72.                                                 }PIECEVAL ;
  73.                                    
  74.                  
  75.  
  76. HSWP               FAR PASCAL     _export logInitGame (int Rows, int Cols,
  77.                                                                                      int Mines, HWND hwndTimer,
  78.                                                                                      LOGICERR *reason);
  79. LOGICERR       FAR PASCAL  _export logFreeGame(HSWP);
  80. PIECEVAL       FAR PASCAL  _export logGetValue(HSWP,int I, int J);
  81. LOGICERR         FAR PASCAL     _export logSetFlag(HSWP hswp, int I, int J);
  82. PIECEVAL         FAR PASCAL     _export logGetSideShown(HSWP hswp, int I, int J);
  83. GAMESTATE        FAR PASCAL     _export logGetGameState(HSWP hswp);
  84. WORD FAR         PASCAL             _export logGetMineCount(HSWP hswp);
  85. LOGICERR      FAR PASCAL _export logPlay(HSWP hswp,    int I, int J, BOOL isShifted);
  86. LOGICERR    FAR PASCAL _export logIncrementGameTime(HSWP hswp);
  87.  
  88. #ifdef __cplusplus
  89. }
  90. #endif
  91.  
  92.  
  93. #endif